<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html> <head>
<title>AspectJ 1.6.10 Readme</title>
<style type="text/css">
<!--
  P   { margin-left:  20px; }
  PRE { margin-left:  20px; }
  LI  { margin-left:  20px; }
  H4  { margin-left:  20px; }
  H3  { margin-left:  10px; }
-->
</style>
</head>

<body>
<div align="right"><small>
&copy; Copyright 2010 Contributors.
All rights reserved.
</small></div>

<h1>AspectJ 1.6.10 Readme</h1>

<p>The full list of resolved issues in 1.6.10 is available <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;bug_status=CLOSED;product=AspectJ;target_milestone=1.6.10;target_milestone=1.6.10M1;target_milestone=1.6.10M2;target_milestone=1.6.10RC1">here</a></h2></p>

<h2>Changes</h2>
<p>1.6.10 is primilarily just bug fixes for AspectJ, mainly in the areas of ITDs and generic aspects.  However, there are a couple
of important changes that users ought to be aware of:</p>
<h3>AJDT Memory usage</h3>
<p>Type demotion has been in use during loadtime weaving for a while now, this enables the load time weavers to discard state
and recover it at a later time (and so generally run with a smaller memory footprint).  Type demotion is now supported under AJDT
in Eclipse and will enable AJDT to run with smaller heaps.  This feature is still experimental and needs turning ON if you want
to try it out.  To turn it on, open your AspectJ project properties in eclipse and in the AspectJ Compiler section, scroll down to 'Other' and
in the non-standard compiler options setting, specify:</p>
<pre><tt>-Xset:minimalModel=true,typeDemotion=true</tt></pre>
<p>If I can get enough positive feedback about this option, it will be made the default.  For a more detailed write up, check out
the blog post:
<a href="http://andrewclement.blogspot.com/2010/07/ajdt-memory-usage-reduction.html">
http://andrewclement.blogspot.com/2010/07/ajdt-memory-usage-reduction.html</a>
</p>
<h3>Runtime changes</h3>
<p>A big thank you to Abraham Nevado and his team who have been working on some issues to optimize loadtime weaving and the
code generated by AspectJ.  1.6.10 includes some new changes to the aspectjrt.jar.  The changes are new methods that enable
the woven code to be a little shorter/neater.  As we want to continue to have compatibility with older aspectjrt.jar a user needs to
choose to activate these optimizations by specifying the option:  <tt>-Xset:targetRuntime1_6_10=true</tt>.  With that option on
you will need to ensure you run against the aspectjrt.jar from a 1.6.10 build.</p>
<p>The changes are discussed in <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323438">bug 323438</a></p>

<h4>
<!-- ============================== -->  
</body>
</html>
